#!/usr/bin/env bash

# Licensed to Elasticsearch B.V. under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Elasticsearch B.V. licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#	http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

# fail this script immediately if any command fails with a non-zero exit code
set -e
# Treat unset env variables as an error
set -u
# fail on pipeline errors, e.g. when grepping
set -o pipefail

# We assume here that this script will stay in the Rally git root directory (it does not make sense in any other place anyway)

SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
  DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
  SOURCE="$(readlink "$SOURCE")"
  [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
RALLY_SRC_HOME="$( cd -P "$( dirname "$SOURCE" )" && pwd )"

pushd . >/dev/null 2>&1
cd "${RALLY_SRC_HOME}" >/dev/null 2>&1

# ensure the Actor system can find Rally sources (it is ok if PYTHONPATH is undefined yet. Hence we define an empty default).
export PYTHONPATH="${RALLY_SRC_HOME}:${PYTHONPATH:-}"

# set variables that are needed for run.sh
__RALLY_INTERNAL_BINARY_NAME="esrallyd"
__RALLY_INTERNAL_HUMAN_NAME="Rally daemon"

source run.sh
